﻿using System;
using System.Collections.Generic;

namespace WUDI.ECharts
{
	/// <summary>
	/// Object
	/// ECharts 4 开始支持了 数据集（dataset）组件用于单独的数据集声明，从而数据可以单独管理，被多个组件复用，并且可以自由指定数据到视觉的映射。这在不少场景下能带来使用上的方便。
	/// 关于 dataset 的详情，请参见教程。
	/// </summary>
	public class Dataset
	{

		/// <summary>
		/// string
		/// 组件 ID。默认不指定。指定则可用于在 option 或者 API 中引用组件。
		/// </summary>
		public String id { get; set; }

		/// <summary>
		/// Array,Object
		/// 原始数据。一般来说，原始数据表达的是二维表。可以用如下这些格式表达二维表：
		/// 二维数组，其中第一行/列可以给出 维度名，也可以不给出，直接就是数据：
		/// [
		///     ['product', '2015', '2016', '2017'],
		///     ['Matcha Latte', 43.3, 85.8, 93.7],
		///     ['Milk Tea', 83.1, 73.4, 55.1],
		///     ['Cheese Cocoa', 86.4, 65.2, 82.5],
		///     ['Walnut Brownie', 72.4, 53.9, 39.1]
		/// ]
		/// 按行的 key-value 形式（对象数组），其中键（key）表明了 维度名：
		/// [
		///     {product: 'Matcha Latte', count: 823, score: 95.8},
		///     {product: 'Milk Tea', count: 235, score: 81.4},
		///     {product: 'Cheese Cocoa', count: 1042, score: 91.2},
		///     {product: 'Walnut Brownie', count: 988, score: 76.9}
		/// ]
		/// 按列的 key-value 形式，每一项表示二维表的 “一列”：
		/// {
		///     'product': ['Matcha Latte', 'Milk Tea', 'Cheese Cocoa', 'Walnut Brownie'],
		///     'count': [823, 235, 1042, 988],
		///     'score': [95.8, 81.4, 91.2, 76.9]
		/// }
		/// 关于 dataset 的详情，请参见教程。
		/// </summary>
		public dynamic source { get; set; }

		/// <summary>
		/// Array
		/// </summary>
		public List<object> dimensions { get; set; }

		/// <summary>
		/// boolean
		/// </summary>
		public bool? sourceHeader { get; set; }

	}
}
